As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and service providers are turning to technologies such as remote resource sharing and cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources. Multiple users can share resources such as remote servers and data repositories, wherein the users can concurrently send multiple requests to be executed against the same resource. The resources can be physical resources or virtual resources provided through virtualization. In many instances, data volumes for a customer will be placed on resources that have sufficient available capacity. In many instances customers will be allocated more capacity than they use, which results in unused capacity that wastes resources. It is possible to place more volumes on a resource than the capacity allows, since at least some of the allocated capacity will not be used, but conventional approaches risk not being able to meet the allocation for customers when the use patterns change.